1. Field of the Invention
The present invention relates to the field of computer systems and, in particular, to a method and apparatus for the programmable configuration of strapping options on a circuit board assembly.
2. Background Information
Recognizing that "one size does not fit all" in the computer industry, many computer system manufacturers offer a wide variety of computer systems to satisfy a variety of markets and budgets. While such variety makes computer shopping convenient for consumers, the same product variety adds complexity to the manufacturing process which, when left unaddressed, may well result in quality and efficiency problems.
In an effort to improve efficiency and alleviate quality problems associated with the circuit board assembly process, many manufacturers have determined that it is more cost effective to settle on a few circuit board assembly "platforms". These platforms are essentially the same, or very similar, printed circuit board assemblies populated with similar components, wherein the operating configuration for a particular variety of printed circuit board is selectively configured through the use of alternate strapping devices. Jumper blocks, dual inline package (DIP) switches, double-pole single-throw (DPST) switches and, more recently, non-volatile memory devices are but a few examples of strapping devices which set the strapping options for a circuit board assembly.
As introduced above, strapping devices selectively set strapping options on a circuit board assembly "platform" to a produce a particular genre of circuit board assembly (i.e., a circuit board assembly suitable for a particular use/product). That is to say, the strapping devices provide an otherwise generic circuit board assembly with the "personality" characteristics (i.e., operating characteristics) commonly associated with a particular product. In, for example, computer system motherboards, strapping devices are often used to select the system bus clock speed and to indicate the bus/core ratio.
Furthermore, as microprocessor technology continues to improve, the size of the processor is continually being reduced. Consistent with the effort to reduce the real estate required by processors, many of the pins which interface the processor to the rest of the circuit board assembly are serving multiple roles. In other words, depending on the state of the processor, several pins on the processor may serve several different roles at different times. For example, some of the configuration information used to "set-up" a processor for operation is only required during the start-up process. Accordingly, certain pins may be used to perform one function during the start-up process, while serving another function during the normal operation of the processor. However, the static nature of prior art strapping devices make the use of these strapping devices unappealing in such implementations. Thus, processors have not been able to effectively use the dual-tasking feature of these inputs without the addition of external multiplexers, used to switch the processor pins to alternate circuit board input/output lines, based on the state of the circuit board assembly (i.e., start-up, shut-down, regular operation, etc.). The addition of the multiplexer into the processor support circuitry is a very costly solution, however, both in terms of additional components and real estate. One skilled in the art will appreciate that the nominal circuit board area gained by the dual-tasking pins is quickly eaten up with the addition of external multiplexers.
In addition to the quality and efficiency problems associated with prior art strapping devices, they do not lend themselves well to the upgrade of the circuit board assembly. For example, upgrading the central processing unit (CPU) to a higher performance processor may require that the strapping devices associated with the clock speed and bus/core ratio be updated to take advantage of the performance characteristics of the higher performance processor. With many of the common prior art strapping devices, the strapping options are set by hand by a service technician. Just as in the manufacturing process, the manual configuration of strapping devices in this manner is prone to human error and mechanical failure.
Thus a need exists for a method and apparatus for the programmable configuration of strapping options unencumbered by the deficiencies and limitations associated with the prior art.